package pers.vic.boot.console.config.i18n;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;

/**
 * 描述: 配置国际化语言切换拦截器
 * @author Vic.xu
 * @date 2021-12-10 9:16
 */
@Configuration
public class LocaleInterceptor implements WebMvcConfigurer {

    /**
     * 拦截器来指定切换国际化语言的参数名 其中lang表示切换语言的参数名
     * 比如当请求的url中包含?lang=zh_CN表示读取国际化文件messages_zh_CN.properties。
     * @param registry
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        LocaleChangeInterceptor localeInterceptor = new LocaleChangeInterceptor();
        localeInterceptor.setParamName("lang");
        registry.addInterceptor(localeInterceptor);
    }
}
